package jcworks;

public class Kapcsolo extends Jelforras {
	private boolean jel;

        public Kapcsolo(){
            //kapcsoló létrehozása alapértelmezett hamis értékkel
            jel=false;
        }


        //A naplózás miatt kell itt is...
        public void setAzonosito(int azonosito)
            {

                super.azonosito = azonosito;
                 if(Vezerlo.konzolnaplozas)
                Vezerlo.naplozas("Letrejott a(z) "+Integer.toString(azonosito)+". azonositoju kapcsolo, erteke: "+Integer.toString((int)(jel?1:0)));
            }
        

        public Kapcsolo(int jel){
             //kapcsoló létrehozása a megadott értékkel
            if(jel==1) this.jel=true;
            else if(jel==0) this.jel=false;

        }

	public void setJel() {
            //kapcsoló jelének átállítása

            if(jel) jel=false;
            else jel=true;

            if(Vezerlo.konzolnaplozas) 
                Vezerlo.naplozas("A(z) "+Integer.toString(azonosito)+". azonositoju kapcsolo atkapcsolt, erteke: "+Integer.toString((int)(jel?1:0)));
	}

        public boolean getJel(){
            //if(Vezerlo.konzolnaplozas) Vezerlo.naplozas(Integer.toString(azonosito)+". azonositoju Kapcsolo - getJel");
            return jel;
        }

        public void bokes(){

            //if(Vezerlo.konzolnaplozas) Vezerlo.naplozas(Integer.toString(azonosito)+". azonositoju Kapcsolo - bokes");

            for(int i=0; i<drotokKimenetCimei.size(); i++){
                drotokKimenetCimei.get(i).setAllapot(jel);
            }

        }

        public void setDrotCim(Drot drotCim, boolean irany) throws Exception{
            //if(Vezerlo.konzolnaplozas) Vezerlo.naplozas(Integer.toString(azonosito)+". azonositoju Kapcsolo - setDrotCim");
            if(irany == false)
                drotokKimenetCimei.add(drotCim);
            else
                throw new Exception("A(z) "+Integer.toString(azonosito)+". azonositoju kapcsolo drottal valo osszekotese kozben, rossz iranyu drot bekotese!");
        }
}